package com.ybkj.o2o.sales.mapper;

import com.ybkj.o2o.sales.entity.ActivityManage;

import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ActivityManageMapper {

  /**
   * 保存活动信息到数据库.
   * @param activityManage 活动信息
   * @return Long
   */
  Long insertRecord(ActivityManage activityManage);

  /**
   * 分页查询活动信息.
   * 
   * @param companyIds 公司id
   * @param chainedAddress 链接地址
   * @param serviceType 业务类型
   * @param sort 排序
   * @param showLocation 展示位置
   * @param offset 页数
   * @param size 每页数量
   * @param appKey 系统key
   * @return List
   */
  List<ActivityManage> selectActivityManage(@Param("companyIds") String companyIds,
      @Param("chainedAddress") String chainedAddress, @Param("serviceType") String serviceType,
      @Param("sort") Long sort, @Param("showLocation") String showLocation,
      @Param("offset") Integer offset, @Param("size") Integer size, @Param("appKey") String appKey);

  /**
   * 分页查询活动信息.
   * 
   * @param companyIds 公司id
   * @param serviceType 业务类型
   * @param offset 页数
   * @param size 每页数量
   * @param appKey 系统key
   * @return List
   */
  List<ActivityManage> selectByCompanyId(@Param("companyIds") String companyIds,
      @Param("serviceType") String serviceType, @Param("offset") Integer offset,
      @Param("size") Integer size, @Param("appKey") String appKey);


  /**
   * 统计活动信息.
   * @param companyIds 公司id
   * @param chainedAddress 链接地址
   * @param serviceType 业务类型
   * @param sort 排序
   * @param showLocation 展示位置
   * @param appKey 系统key
   * @return long
   */
  long countActivityManage(@Param("companyIds") String companyIds,
      @Param("chainedAddress") String chainedAddress, @Param("serviceType") String serviceType,
      @Param("sort") Long sort, @Param("showLocation") String showLocation,
      @Param("appKey") String appKey);

  /**
   * 统计活动信息.
   * @param companyIds 公司id
   * @param serviceType 业务类型
   * @param appKey 系统key
   * @return long
   */
  long countByCompanyId(@Param("companyIds") String companyIds,
      @Param("serviceType") String serviceType, @Param("appKey") String appKey);

  /**
   * 根据id查询活动信息.
   * 
   * @param id 活动信息id
   * @param appKey 系统key
   * @return ActivityManage
   */
  ActivityManage findOne(@Param("id") Long id, @Param("appKey") String appKey);

  /**
   * 删除.
   * 
   * @param id 活动信息id
   * @param appKey 系统key
   */
  void deleteById(@Param("id") Long id, @Param("appKey") String appKey);

  /**
   * 根据链接地址查询全部活动信息.
   * 
   * @param chainedAddress 链接地址
   * @param appKey 系统key
   * @return ActivityManage
   */
  ActivityManage findChainedAddress(@Param("chainedAddress") String chainedAddress,
      @Param("appKey") String appKey);

  /**
   * 修改活动信息.
   * 
   * @param activityManage 活动信息内容
   */
  int update(ActivityManage activityManage);



}
